---
menu: HOC
name: dom事件
---
## dom事件高阶组件

将addEventListener removeEventListener 属性注入到目标组件props中，目标组件可以通过this.props.addEventListener(element, type, handler)方式进行使用;

每次addEventListener 注册事件之后，在组建被卸载时，会自动进行事件清除

使用方法：

```JavaScript
import {hocEvent} from 'src/ra-lib';

// 装饰器方式：
@hocEvent()
class SomeComponent extends Component {...}

// 传递参数，修改注入的props属性
@hocEvent({addPropName: '$$on', removePropName: '$$off'}) // 组件内调用：this.props.$$on
class SomeComponent extends Component {...}

// 直接使用
const WrappedComponent = hocEvent()(SomeComponent);
```
